/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package org.apli.haiam.ejb.entidades;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Informática
 */
@Entity
@Table(name = "hos_alta")
@NamedQueries({
    @NamedQuery(name = "HosAlta.findAll", query = "SELECT h FROM HosAlta h")})
public class HosAlta implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "hal_id")
    private Integer halId;
    @Column(name = "hal_cuadro_clinico")
    private String halCuadroClinico;
    @Column(name = "hal_evolucion_complicaciones")
    private String halEvolucionComplicaciones;
    @Column(name = "hal_hallazgos_relevantes")
    private String halHallazgosRelevantes;
    @Column(name = "hal_tratamientos_procedimientos")
    private String halTratamientosProcedimientos;
    @Column(name = "hal_condiciones_egreso")
    private String halCondicionesEgreso;
    @Basic(optional = false)
    @Column(name = "hal_tipo_egreso")
    private int halTipoEgreso;
    @Basic(optional = false)
    @Column(name = "hal_fecha")
    @Temporal(TemporalType.DATE)
    private Date halFecha;
    @Basic(optional = false)
    @Column(name = "hal_hora")
    @Temporal(TemporalType.TIME)
    private Date halHora;
    @Basic(optional = false)
    @Column(name = "hal_id_usuario")
    private int halIdUsuario;
    @Basic(optional = false)
    @Column(name = "hal_nombre_usuario")
    private String halNombreUsuario;
    @OneToMany(mappedBy = "hosAlta", fetch = FetchType.LAZY)
    private List<EmeDiagnosticoIngresoAlta> emeDiagnosticoIngresoAltaList;
    @JoinColumn(name = "hrd_id", referencedColumnName = "hrd_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private HosRegistroDetalle hosRegistroDetalle;

    public HosAlta() {
    }

    public HosAlta(Integer halId) {
        this.halId = halId;
    }

    public HosAlta(Integer halId, int halTipoEgreso, Date halFecha, Date halHora, int halIdUsuario, String halNombreUsuario) {
        this.halId = halId;
        this.halTipoEgreso = halTipoEgreso;
        this.halFecha = halFecha;
        this.halHora = halHora;
        this.halIdUsuario = halIdUsuario;
        this.halNombreUsuario = halNombreUsuario;
    }

    public Integer getHalId() {
        return halId;
    }

    public void setHalId(Integer halId) {
        this.halId = halId;
    }

    public String getHalCuadroClinico() {
        return halCuadroClinico;
    }

    public void setHalCuadroClinico(String halCuadroClinico) {
        this.halCuadroClinico = halCuadroClinico;
    }

    public String getHalEvolucionComplicaciones() {
        return halEvolucionComplicaciones;
    }

    public void setHalEvolucionComplicaciones(String halEvolucionComplicaciones) {
        this.halEvolucionComplicaciones = halEvolucionComplicaciones;
    }

    public String getHalHallazgosRelevantes() {
        return halHallazgosRelevantes;
    }

    public void setHalHallazgosRelevantes(String halHallazgosRelevantes) {
        this.halHallazgosRelevantes = halHallazgosRelevantes;
    }

    public String getHalTratamientosProcedimientos() {
        return halTratamientosProcedimientos;
    }

    public void setHalTratamientosProcedimientos(String halTratamientosProcedimientos) {
        this.halTratamientosProcedimientos = halTratamientosProcedimientos;
    }

    public String getHalCondicionesEgreso() {
        return halCondicionesEgreso;
    }

    public void setHalCondicionesEgreso(String halCondicionesEgreso) {
        this.halCondicionesEgreso = halCondicionesEgreso;
    }

    public int getHalTipoEgreso() {
        return halTipoEgreso;
    }

    public void setHalTipoEgreso(int halTipoEgreso) {
        this.halTipoEgreso = halTipoEgreso;
    }

    public Date getHalFecha() {
        return halFecha;
    }

    public void setHalFecha(Date halFecha) {
        this.halFecha = halFecha;
    }

    public Date getHalHora() {
        return halHora;
    }

    public void setHalHora(Date halHora) {
        this.halHora = halHora;
    }

    public int getHalIdUsuario() {
        return halIdUsuario;
    }

    public void setHalIdUsuario(int halIdUsuario) {
        this.halIdUsuario = halIdUsuario;
    }

    public String getHalNombreUsuario() {
        return halNombreUsuario;
    }

    public void setHalNombreUsuario(String halNombreUsuario) {
        this.halNombreUsuario = halNombreUsuario;
    }

    public List<EmeDiagnosticoIngresoAlta> getEmeDiagnosticoIngresoAltaList() {
        return emeDiagnosticoIngresoAltaList;
    }

    public void setEmeDiagnosticoIngresoAltaList(List<EmeDiagnosticoIngresoAlta> emeDiagnosticoIngresoAltaList) {
        this.emeDiagnosticoIngresoAltaList = emeDiagnosticoIngresoAltaList;
    }

    public HosRegistroDetalle getHosRegistroDetalle() {
        return hosRegistroDetalle;
    }

    public void setHosRegistroDetalle(HosRegistroDetalle hosRegistroDetalle) {
        this.hosRegistroDetalle = hosRegistroDetalle;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (halId != null ? halId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof HosAlta)) {
            return false;
        }
        HosAlta other = (HosAlta) object;
        if ((this.halId == null && other.halId != null) || (this.halId != null && !this.halId.equals(other.halId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "newpackage.HosAlta[ halId=" + halId + " ]";
    }
    
}
